package com.eastfair.home.service;

import com.eastfair.boot.service.SuperService;
import com.eastfair.home.dto.ReportDrawingAuditHistoryDTO;
import com.eastfair.home.entity.ReportDrawingAudit;
import com.eastfair.home.entity.ReportDrawingAuditHistory;
import com.eastfair.home.vo.ReportDrawingAuditHistoryVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 报馆图纸审核记录历史
 * </p>
 *
 * @author dq
 * @date 2022 -08-08
 */
public interface ReportDrawingAuditHistoryService extends SuperService<ReportDrawingAuditHistory> {

    /**
     * 通过图纸分类审核历史ID查询图纸审核历史.
     *
     * @param reportDrawingCategoryAuditHistoryId the report drawing category audit history id
     * @return the list
     */
    List<ReportDrawingAuditHistoryVO> listByReportDrawingCategoryAuditHistoryId(Long reportDrawingCategoryAuditHistoryId);

    /**
     * 查询报馆图纸审核历史.
     *
     * @param query the query
     * @return the list
     */
    List<ReportDrawingAuditHistory> listReportDrawingAuditHistory(ReportDrawingAuditHistoryDTO query);

    /**
     * 保存图纸审核历史.
     *
     * @param reportDrawingAuditHistoryDTO the report drawing audit history dto
     * @return the boolean
     */
    boolean saveHistory(ReportDrawingAuditHistoryDTO reportDrawingAuditHistoryDTO);

    /**
     * 批量保存图纸审核历史.
     *
     * @param list                                the list
     * @param reportDrawingCategoryAuditHistoryId the report drawing category audit history id
     * @return the boolean
     */
    boolean saveBatch(List<ReportDrawingAuditHistoryDTO> list, Long reportDrawingCategoryAuditHistoryId);

    /**
     * 图纸审核列表转为 图纸审核历史列表.
     *
     * @param reportDrawingAudits the report drawing audits
     * @return the list
     */
    List<ReportDrawingAuditHistoryDTO> toReportDrawingAuditHistoryDTOList(List<ReportDrawingAudit>  reportDrawingAudits);
}
